This invention relates to a telephone employing echo canceling circuitry and, in particular, to echo canceling circuitry that includes a path change detector.
As used herein, “telephone” is a generic term for a communication device that utilizes, directly or indirectly, a dial tone from a licensed service provider. As such, “telephone” includes desk telephones (see FIG. 1), cordless telephones (see FIG. 2), speaker phones (see FIG. 3), hands free kits (see FIG. 4), and cellular telephones (see FIG. 5), among others. For the sake of simplicity, the invention is described in the context of telephones but has broader utility; e.g. communication devices that do not utilize a dial tone, such as radio frequency transceivers.
There are two kinds of echo in a telephone system, an acoustic echo between an earphone or a loudspeaker and a microphone and electrical echo generated in the switched network for routing a call between stations. In a handset, acoustic echo is typically not much of a problem. In speaker phones, where several people huddle around a microphone and loudspeaker, acoustic feedback is much more of a problem. Hybrid circuits (two-wire to four-wire transformers) located at terminal exchanges or in remote subscriber stages of a fixed network are the principal sources of electrical echo.
One way to reduce echo is to program the frequency and phase response of a filter to match the frequency and phase response of an echo path. A filter typically used is a finite impulse response (FIR) filter having programmable coefficients. The echo is subtracted from the echo bearing signal at an input. This technique can reduce echo as much as 30 dB, depending upon the coefficient adaptation algorithm. Additional means using non-linear techniques are typically added to further reduce an echo. Approximating a solution for an adaptive filter is like trying clothes on a squirming child: the input signal keeps changing. At one extreme, sudden and/or large changes can upset the approximation process and make the process diverge rather than converge. At the other extreme, a low echo to noise ratio can cause instability.
Convergence relates to a process for approximating an answer. In high school, one is taught how to calculate the roots of a quadratic equation f(x)=0 from the coefficients of the terms on the left side of the equation. This is not the only way to solve the problem. One can simply substitute a value (a guess) for x in the equation and calculate a result. The guess is modified depending upon the difference (the error) between the calculated result and zero. The error could be as large numerically as the guess. Thus, some fraction of the error is typically used to adjust the guess. Hopefully, successive guesses come closer and closer to a root. This is convergence. Calculations stop when the size of the error becomes arbitrarily small. If there is overcorrection, the error becomes progressively larger. This is divergence. For a human being, this approach is time consuming and boring. For a computer, this approach is extremely useful and applicable to many situations other than solving quadratic equations.
A digital signal processor (DSP) can be programmed according to any one of the several available algorithms, which generally provide rapid convergence. If the echo path changes slowly, there is usually no problem. Thus, telephones using a handset usually do not present a problem. Abrupt changes, which are more likely with a speakerphone, for example, can cause the algorithm to diverge. Divergence is also more likely in algorithms with an adjustable step size; i.e. the step size is increased when it should not be increased. When there is divergence, one of two things will happen. The system will eventually sense divergence and reset by going to half duplex mode or the system may produce echoes, if not noticeably distort the desired signal. In a worst case, both events happen, distortion followed by an eerie silence.
Adding a path change detector potentially adds the problem of false positive indications of a path change. The result is the same as for divergence. Thus, the problem is to cure one problem without making new ones.
In the prior art, U.S. Pat. No. 5,477,534 (Kusano) discloses monitoring abrupt changes in the coefficients of the FIR filter and modifying the abruptly changing coefficients to prevent divergence. U.S. Pat. No. 6,240,128 (Banerjea et al.) disclose preventing divergence by synchronizing sampling rates in the system.
In view of the foregoing, it is therefore an object of the invention to provide an efficient adaptive filter that is stable during abrupt changes in the echo path.
A further object of the invention is to provide a path change detector that is not prone to false positives.